set(COMPONENT_NAME "xiaozhi")

# 添加头文件包含目录
# 将inc目录添加到编译器的头文件搜索路径中，使得源文件可以包含该目录下的头文件
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/inc")

# 设置源文件列表（当前为空，由子目录填充）
# PARENT_SCOPE表示将变量传递给父作用域
set(SOURCES "${SOURCES}" PARENT_SCOPE)

# 设置公共头文件目录
# 将inc目录设置为公共头文件目录，其他组件可以访问这些头文件
set(PUBLIC_HEADER "${PUBLIC_HEADER}" "${CMAKE_CURRENT_SOURCE_DIR}/inc" "${CMAKE_CURRENT_SOURCE_DIR}/xiaozhi-fonts/include"  PARENT_SCOPE)

# 条件编译：仅当定义了CONFIG_XIAOSHAN_ENABLE配置时才编译src子目录
# 这允许通过配置选项控制是否编译小山音频处理功能
if(DEFINED CONFIG_XIAOSHAN_ENABLE)
    add_subdirectory_if_exist(src)
endif()

# 添加自定义子目录（如果存在）
# 用于扩展功能或自定义配置
add_subdirectory_if_exist(custom)

# 私有头文件列表（当前为空）
# 仅在当前组件内部使用的头文件
set(PRIVATE_HEADER
)

# 私有预处理器定义（当前为空）
# 仅在当前组件内部使用的宏定义
set(PRIVATE_DEFINES
)

# 公共预处理器定义（当前为空）
# 其他组件也可以使用的宏定义
set(PUBLIC_DEFINES
)

# 公共编译器标志（当前为空）
# 用于添加公共的编译选项，如 -include xxx
# 这些标志会影响依赖此组件的其他组件
set(COMPONENT_PUBLIC_CCFLAGS
)

# 组件私有编译器标志（当前为空）
# 仅影响当前组件编译的标志
set(COMPONENT_CCFLAGS
)

# 设置完整链接模式为true
# 确保整个组件的所有目标文件都被链接到最终的可执行文件中
# 这对于包含重要初始化代码的组件很重要
set(WHOLE_LINK
    true
)

# 设置为非主组件
# false表示这不是应用程序的主入口组件
set(MAIN_COMPONENT
    false
)

# ==============================================================================
# SDK安装配置
# ==============================================================================
# 以下install_sdk命令用于安装各种示例和外设驱动到SDK中
# 注意：这些路径可能不存在于当前的xiaoshan_no_web项目中，
# 但保留这些配置以保持与原始项目结构的兼容性

# 安装外设相关文件
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/peripheral" "*")

# 安装产品相关文件
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/products" "*")

# 安装WiFi相关示例（注：xiaoshan_no_web项目已移除WiFi功能）
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/wifi/sta_sample" "*")
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/wifi/alilink_sample" "*")
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/wifi/softap_sample" "*")
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/wifi/ohos_connect" "*")
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/wifi/hilink_indie_upgrade" "*")
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/wifi/ble_wifi_cfg_sample" "*")

# 安装雷达相关文件
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/radar" "*")

# 安装NFC相关文件
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/nfc" "*")

# 安装蓝牙相关文件
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/bt/ble" "*")
install_sdk("${CMAKE_CURRENT_SOURCE_DIR}/bt/sle" "*")


# addxiaozhi-fonts 注释掉了


# 构建组件
# 这是CMake构建系统的最终调用，用于实际构建当前组件
build_component()


